package net.losjuegos.core.launchers;

import java.util.ArrayList;

import net.losjuegos.core.dominios.Bebida;
import net.losjuegos.core.dominios.Bebida.BebidaType;
import net.losjuegos.core.dominios.IGasificada;
import net.losjuegos.core.factories.BebidaFactorySingleton;

public class BebidasLauncher {

	public static void main(String[] args) {
		new BebidasLauncher().ejecutar();
	}

	public void ejecutar() {
		ArrayList<Bebida> bebidas = new ArrayList<Bebida>(5);
		
		BebidaFactorySingleton factory = BebidaFactorySingleton.getInstance(); 
		
		bebidas.add(factory.crearBebida(BebidaType.Cerveza));		
		bebidas.add(factory.crearBebida(BebidaType.Espumante));
		bebidas.add(factory.crearBebida(BebidaType.Champagne));
		bebidas.add(factory.crearBebida(BebidaType.Whiskey));
		bebidas.add(factory.crearBebida(BebidaType.Fernet));
		bebidas.add(factory.crearBebida(BebidaType.Gaseosa));
		bebidas.add(factory.crearBebida(BebidaType.AguaMineral));
		bebidas.add(factory.crearBebida(BebidaType.Jugo));
		bebidas.add(factory.crearBebida(BebidaType.Soda));

		for (Bebida item : bebidas) {
			item.vencer();
			item.servir();

			if (item instanceof IGasificada)
				((IGasificada) item).explotar();
			
		}
	}
}
